package com.codefish.framework.spring.beans.factory.support;

import com.codefish.framework.spring.beans.factory.IObjectFactory;

/**
 * 单例bean注册接口
 *
 * @author <a href='https://gitee.com/hzf2281'>codefish</a>
 * @version 1.0.0
 * @since 2022/09/23 下午 05:15
 */
public interface ISingletonBeanRegistry {

    /**
     * 注册一个单例bean
     *
     * @param beanName   beanName
     * @param beanObject 被注册的对象
     */
    void registerSingleton(String beanName, Object beanObject);


    /**
     * 获取bean实例
     *
     * @param beanName bean名称
     * @return bean实例，没有则返回null
     */
    Object getSingleton(String beanName);

    /**
     * 判断缓存是否包含目标beanName
     *
     * @param beanName 指定的beanName
     * @return 是否包含
     */
    boolean containsBean(String beanName);


}
